package cn.qingyun.gis.modules.express.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * <p>
 * 快递地址勘误
 * </p>
 *
 * @author miyunguo
 * @since 2023-07-27
 */
@Data
@TableName("Express_proofread")
@ApiModel(value = "ExpressProofread对象", description = "快递地址勘误")
public class ExpressProofread implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键id
     */
    @ApiModelProperty(value = "主键id")
    @TableId(value = "id", type = IdType.ASSIGN_UUID)
    @Excel(name = "id", width = 15)
    private String id;

    /**
     * 归属城市
     */
    @ApiModelProperty(value = "归属城市")
    @Excel(name = "归属城市", width = 15)
    private String city;

    /**
     * 归属区县
     */
    @ApiModelProperty(value = "归属区县")
    @Excel(name = "归属区县", width = 15)
    private String districts;

    /**
     * 网格id
     */
    @ApiModelProperty(value = "网格id")
    @Excel(name = "网格id", width = 15)
    @TableField(value = "grid_id")
    private String gridEncoding;

    /**
     * 归属网格名称
     */
    @ApiModelProperty(value = "归属网格名称")
    @Excel(name = "归属网格名称", width = 15)
    private String gridName;

    /**
     * 微网格id（编码）
     */
    @ApiModelProperty(value = "微网格id")
    @Excel(name = "微网格id", width = 15)
    private String microGridId;

    /**
     * 微网格名称
     */
    @ApiModelProperty(value = "微网格名称")
    @Excel(name = "微网格名称", width = 15)
    private String microGridName;

    /**
     * 快递名称
     */
    @ApiModelProperty(value = "快递名称")
    @Excel(name = "快递名称", width = 15)
    private String expressName;

    /**
     * 站点名称
     */
    @ApiModelProperty(value = "站点名称")
    @Excel(name = "站点名称", width = 15)
    private String stationName;

    /**
     * 公司名称
     */
    @ApiModelProperty(value = "公司地址")
    @Excel(name = "公司地址", width = 15)
    private String companyAddress;

    @ApiModelProperty(value = "解析置信度")
    @Excel(name = "解析置信度", width = 15)
    private String confidence;

    /**
     * POI名称
     */
    @ApiModelProperty(value = "POI名称")
    @Excel(name = "POI名称", width = 15)
    private String poiName;

    /**
     * POI-ID
     */
    @ApiModelProperty(value = "POI-ID")
    @Excel(name = "POI-ID", width = 15)
    private String poiId;

    /**
     * POI地址
     */
    @ApiModelProperty(value = "POI地址")
    @Excel(name = "POI地址", width = 15)
    private String poiAddress;

    /**
     * 标准地址
     */
    @ApiModelProperty(value = "标准地址")
    @Excel(name = "标准地址", width = 15)
    private String standardAddress;

    /**
     * 经度
     */
    @TableField(updateStrategy = FieldStrategy.IGNORED)//使用mp更新该字段时，可以更新为null
    @ApiModelProperty(value = "经度")
    @Excel(name = "经度", width = 15)
    private BigDecimal lon;

    /**
     * 纬度
     */
    @TableField(updateStrategy = FieldStrategy.IGNORED) //使用mp更新该字段时，可以更新为null
    @ApiModelProperty(value = "纬度")
    @Excel(name = "纬度", width = 15)
    private BigDecimal lat;

    /**
     * POI编码
     */
    @ApiModelProperty(value = "POI编码")
    @Excel(name = "POI编码", width = 15)
    private String poiEncode;

    /**
     * POI类型
     */
    @ApiModelProperty(value = "POI类型")
    @Excel(name = "POI类型", width = 15)
    private String poiType;

    /**
     * 创建时间
     */
    @ApiModelProperty(value = "创建时间")
    @Excel(name = "创建时间", width = 15)
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    /**
     * 修改时间
     */
    @ApiModelProperty(value = "修改时间")
    @Excel(name = "修改时间", width = 15)
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;

    /**
     * 归属省份
     */
    @ApiModelProperty(value = "归属省份")
    @Excel(name = "归属省份", width = 15)
    private String province;

    /**
     * 归属街道
     */
    @ApiModelProperty(value = "归属街道")
    @Excel(name = "归属街道", width = 15)
    private String street;

    /**
     * 路
     */
    @ApiModelProperty(value = "路")
    @Excel(name = "路", width = 15)
    private String road;

    /**
     * 街号
     */
    @ApiModelProperty(value = "街号")
    @Excel(name = "街号", width = 15)
    private String streetNumber;

    /**
     * 勘误经度
     */
    @ApiModelProperty(value = "勘误经度")
    @Excel(name = "勘误经度", width = 15)
    private BigDecimal kwLon;

    /**
     * 勘误纬度
     */
    @ApiModelProperty(value = "勘误纬度")
    @Excel(name = "勘误纬度", width = 15)
    private BigDecimal kwLat;

    /**
     * 勘误状态
     */
    @ApiModelProperty(value = "勘误状态")
    @Excel(name = "勘误状态", width = 15)
    private Integer kwStatus;

    /**
     * 勘误地址
     */
    @ApiModelProperty(value = "勘误地址")
    @Excel(name = "勘误地址", width = 15)
    private String kwAddress;

    /**
     * 勘误地址描述
     */
    @ApiModelProperty(value = "勘误地址描述")
    @Excel(name = "勘误地址描述", width = 15)
    private String kwAddressDescribe;

    /*2023080926新增*/
    /**
     * 匹配POI-ID
     */
    @ApiModelProperty(value = "匹配poi-id")
    @Excel(name = "匹配POI-ID", width = 15)
    private String matchPoiId;

    /**
     * 匹配POI名称
     */
    @ApiModelProperty(value = "匹配poi名称")
    @Excel(name = "匹配POI名称", width = 15)
    private String matchPoiName;


    /**
     * 勘误站点名称
     */
    @ApiModelProperty(value = "勘误站点名称")
    @Excel(name = "勘误站点名称", width = 15)
    private String kwStationName;

    /**
     * 勘误类型
     */
    @ApiModelProperty(value = "勘误类型")
    @Excel(name = "勘误类型", width = 15)
    private Integer kwType;

    /**
     * 勘误工号
     */
    @ApiModelProperty(value = "勘误工号")
    @Excel(name = "勘误工号", width = 15)
    private String kwPhone;

    /*
     *  20231011-新增字段（前端不需要，暂时不添加）
     * */
    @ApiModelProperty(value = "归属业务地市")
    @Excel(name = "业务地市", width = 15)
    private String regionCity;

    @ApiModelProperty(value = "归属业务地市编码")
    @Excel(name = "业务地市编码", width = 15)
    private String regionCityCode;


    @ApiModelProperty(value = "归属业务区县")
    @Excel(name = "业务区县", width = 15)
    private String regionDistricts;

    @ApiModelProperty(value = "归属业务区县编码")
    @Excel(name = "业务区县编码", width = 15)
    private String regionDistrictsCode;

    @TableField(exist = false)
    private BigDecimal distance;

}
